The present application is being concurrently filed with commonly assigned U.S. patent application, Ser. No. 09/037,720 entitled xe2x80x9cRESHAPING OF PATHS WITHOUT RESPECT TO CONTROL POINTSxe2x80x9d, the disclosure of which is incorporated herein by reference and commonly assigned, U.S. patent application Ser. No. 09/037,721 entitled xe2x80x9cUSE OF FILTERS ATTACHED TO OBJECTS TO MODIFY THE APPEARANCE OF THE OBJECTS,xe2x80x9d the disclosure of which is incorporated herein by reference.
This application relates in general to the generation and manipulation of computer graphic objects and more particularly to the storage of generated and calculated properties for the purpose of creating and rendering a graphic image.
One prior art system for generating natural looking brush effects is by the creation and manipulation of vectors which define the graphic paths. Such existing systems typically have a predefined vector template that defines a particular brush appearance. Thus, there can be a water color vector template or a weiner dog vector template, or some other xe2x80x9cdefinedxe2x80x9d vector. After the user has drawn the path, the system then warps the selected vector template to the path taking the watercolor vector template, or the weiner dog vector template, and stretching along the path. This technique is more of a blend or stretch along a path.
Typically, the prior art systems use bezier paths and store the bezier path information. The problems of such prior art systems is that the user does not obtain realistic feedback as the stylus or mouse is moved. There might be some general outline that is created but not the actual brush image.
The user might get a general feel or how thick a brush stroke is being laid down, but cannot see the actual result until subsequent calculations are made. These calculations are typically not done until after the user has finished drawing the path with the mouse or stylus. The prior art systems interpret a bezier path based on certain sample points taken from the mouse or stylus. So, the actual path that is drawn by the user may not be the exact path that is rendered because these systems convert the original sample points to bezier paths thereby losing some fidelity in the path.
Another problem with the prior art technique is that you cannot obtain certain brush characteristics such as blackness buildup as you stroke a path, realistic texture effects, or other complex image level processing effects.
In addition, in prior art systems editing of these brushed paths is very limited. These systems can edit the particular vector template that is being used so, for example, a user can change from weiner dog template to watercolor template. The user can edit the shape of the bezier path but only by using the conventional bezier path control points. Prior art systems do not change the velocity or pressure at selected points nor do these systems change brush stroke width or any other properties that define the appearance of a brush stroke, except the path shape.
These and other objects, features and technical advantages are achieved by a system and method which stores fundamental data as a user generates a path and then uses this data to render the electronic image.
In essence, as the user picks up the brush tool and starts brushing, the system retains all the information needed to recreate the brush stroke that the user is creating. Examples of this retained information include the geographical location of where the mouse or stylus is traveling in a database coordinate system. In addition to such geographical data, the system also retains the pressure of the stylus, or pressure simulated keyboard shortcuts, as the user creates a single brush stroke. The system also retains the velocity of how fast the stylus is moving.
In relation to the geographical data, the system retains all the sample input information that it can obtain. The system keeps track of the brush properties used at different points, such as crayon, charcoal, quill or some other brush type that will create indescribable effects. Thus, the system does not store the appearance of the path but rather a very detailed description of the parametric data needed to generate the brushed path image. Thus, at any time the user can edit or filter any of this stored data to create any effect desired.
The user has full editability of all the brush parameters which means the user can change the type of brush or can just tweak little parts of the way the brush stroke is rendered. The user has full editability of all the polyline sample data which includes the geographical location, velocity, pressure and a random seed value stored at every sample point. The purpose of storing the random number at every point is so that every copy of the same rendered brushed image will have the same randomness to it. Thus, if a color is to change in a random fashion along a line, every time that brushed image is rendered, the color changes will be the same for that brushed image.
One technical advantage of the invention is that it allows a user to create artwork that is fully editable at all points.
Another technical advantage is the ability to allow a user to create artwork on a computer that contains effects that cannot be achieved with a canvas on an easel.